Busy polling, also known as “busy waiting” or “spinning,” is a technique in which a process repeatedly monitors a condition to see if it has become true. For example, if the process needs input, it may continually loop, watching an input buffer to see if data have become available. Other uses may be to see if a key has been pressed, or if a lock is available. Another use is to create a known time delay, such as by “doing nothing” for a specified number of milliseconds, though variations in processor speed may make this not completely reliable.
Busy polling may be a useful technique particularly in low-level programming, where interrupt-driven processing may be inefficient or cumbersome.